{Hlavicka skriptu, libovolne info, o autorovi atd. Skript pro SMS branu http://web.icq.com/sms/inbox Autor: DreamTeam} procedure StatInit; //inicializace proměnných při prvním načtení begin Version := 1.0; //číslo verze skriptu MsgSizes := '160;155'; //velikosti jednotivých zpráv oddělených středníkem Countries := 'INT'; //onzačení do jakých zemí lze odesílat, INT je mezinárodní skript, jinak zkratky zemí ze staty.dat //Nepovinné parametry: PasswordLabel := Translate('Password') + ':'; // skript vyžaduje přihlášení heslem, hodnota je text, který se zobrazuje na kartě skriptů UserPar1Label := Translate('UserName') + ':'; // skript vyžaduje přihlášení uživ. jménem, hodnota je text, který se zobrazuje na kartě skriptů, už. paramterů může být až 5 Prefixes := '603;604;605'; //seznam prefixů, které podporuje daná brána CountryCode := 420; //Kód státu, do kterého skript odesílá. Používá se jen k automatickému přiřazování skriptu u adresáta. MsgTime := 120; //za jak dlouho je možné odeslat další zprávu QueueTime := 'NAME="smstime" VALUE="'; //řetězec na rozpoznání doby, za kterou bude možno odesílat AoDAvail := True; // brána podporuje doručenku FlashAvail := True; // brána podporuje flash IdentAvail := True; //brána podporuje Identifikaci odesílatele AoDOff := ''; //řetězec, který vrátí fce GetAod při vypnuté doručence FlashOn := 'flash=true'; //řetězec, který vrátí fce GetFlash při zapnuté doručence FlashOff := 'flash=false'; //řetězec, který vrátí fce GetFlash při vypnuté doručence IdentOff := ''; // řetězec, který vrátí fce GetIdent při vypnuté identifikaci Official := false; //tento skript je neoficiální a nebude automaticky doplňován u adresátů Info := 'Omezení 5 zpráv denně...'; //doplňující informace o skriptu, které se zobrazují při kliknutí na i v hlavním okně a na kartě skriptů end; procedure DynInit; //nepovinná procedura, volá se při změně adresáta v editoru, při změně doručenky či identifikace, před odesláním zprávy begin IdentOn := MyEmail; //do této procedury dejte inicializaci proměnných, které nejsou naplňovány konstantou if Pos(Prefix,'608;776;777') > 0 then begin //Pokud je prefix 608 či 776 či 777 Aod := false; Ident := false; MsgSizes := '152;152;152;152;152'; end; end; procedure AfterKeyPress; //nepovinná procedura, volá se při stisku klávesy v editoru begin if Length(Message) > 158 then MsgSizes := '156;156;154' else MsgSizes := '158;156;154'; end; procedure Send(index: integer); //povinná procedura, v které probíhá vlastní odesílání zprávy (index označuje fázi, ve které se odesílání nachází) begin case index of 0: begin //první fáze odesílání GetPage('http://web.icq.com/sms/inbox', 'Msg_Loading'); //načte zadanou webovou stránku a zobrazí hlášku o načítání úvodní stránky v okně událostí end; 1: begin //druhá fáze odesílání if Pos('Hello', GetHTMLSource) > 0 then begin Phase := 2; Send(Phase); exit; end; //pokud se na stránce vyskytuje zadaný řetězec, přejde se na 3. fázi (zbytek 2. fáze se už neprovede) AddResult('Hello', 'Msg_Accepted', Resume); //pokud se na stránce nachází řetězec 'Hello', v okně událostí se zobrazí hláška o přijetí hesla a pokračuje se další fází odesílání (Resume) AddResult('are incorrect','Msg_WrongPass', Cancel); //pokud se na stránce nachází řetězec 'are incorrect', v okně událostí se zobrazí hláška o špatném hesle a odesílání je ukončeno (Cancel) PostPage( 'http://web.icq.com/sms/inbox/login.php', 'karma_user_login=' + UserPar1 + '&karma_user_passwd=' + Password + '&Submit=Login'', //názvy prvků formuláře jsou ve formátu 'nazev1=hodnota1&nazev2=hodnota2' atd. 'Msg_Logging', //v okně událostí zobrazí hlášku o ověřování jména a hesla 0); //pauza před započetím další fáze (v milisekundách) end; 2: begin //třetí fáze odesílání AddResult('has been successfully sent.','Msg_Sent', Success); //pokud se na stránce nachází řetězec 'has been successfully sent.', v okně událostí se zobrazí hláška o odeslání zprávy a odesílání je úspěšně ukončeno (Success) AddResult('could not be sent', 'Msg_WrongNum', Cancel); //špatně zadané číslo, odesílání je ukončeno PostPage( 'http://web.icq.com/sms/inbox/send.php', 'country=' + ICode + '&carrier=' + Prefix + '&tophone=' + PhoneNP + '&msg=' + Message + '&Submit=Send', //názvy prvků formuláře 'Msg_Sending', //zobrazí se hláška v okně událostí 0); //žádná pauza end; end; end; case ParamStr(0) of //vlastní vykonávání skriptu 'STATINIT' : StatInit; //povinné - volá se statická inicializace proměnných 'DYNINIT' : DynInit; //nepovinné - volá se dynamická inicializace proměnných 'SEND' : Send(Phase); //povinné - volá se procedura Send end;